import { createHostRootFiber } from './ReactFiber'
import { initializeUpdateQueue } from './ReactUpdateQueue'

export function createFiberRoot(containerInfo) {
  //fiberRoot,指的就是容器对象containerInfo，div#root
  const fiberRoot = { containerInfo }
  // 构建fiber树的根节点
  const hostRootFiber = createHostRootFiber()
  // 关联
  fiberRoot.current = hostRootFiber //让当前的fiberRoot的curent指向根fiber
  hostRootFiber.stateNode = fiberRoot //让根fiber的真实DOM节点指向fiberRoot; div#root; stateNode指的是真是DOM的意思

  // 初始化更新队列 ---环形链表结构
  initializeUpdateQueue(hostRootFiber)
  return fiberRoot
}
